/***
返回当前目录
http://www.xxx.com/653/cn0432/psd/
*/
function getCurrentDirectory(){
  var locHref=location.href;
  var locArray=locHref.split("/");
  delete locArray[locArray.length-1];
  var dirTxt=locArray.join("/");
  return dirTxt;
}
var global_current_folder=getCurrentDirectory();


function msga(title,icon,str){
  parent.art.dialog.list['edit'].unlock();//给父窗口锁定解锁  //防止两层锁定
  parent.art.dialog.list['edit'].hide();
  art.dialog.through({id:'msg',title:title,icon:icon,drag:false,lock:true,content:str,ok: function () {var win=art.dialog.open.origin;win.location.reload();return false;} });
  art.dialog.list['msg'].focus();//防止输入框中的竖线。
}


/***
  参数说明:
  status:状态  传入 1 表示操作成功
               传入 0 表示操作失败
  str   :显示内容
  reload:是否刷新 传入 1 表示 刷新页面 传入 0表示不刷新页面，即关闭dialog
*/
function msg(status,str,reload){
  var title=status?'成功':'失败';
  var icon=status?'face-smile':'face-sad';
  parent.art.dialog.list['edit'].unlock();//给父窗口锁定解锁  //防止两层锁定
  parent.art.dialog.list['edit'].hide();
  art.dialog.through({
    id:'msg',title:title,icon:icon,drag:false,lock:true,opacity:0.2,content:str,ok:function(){
      if(reload){
        var win=art.dialog.open.origin;win.location.reload();return false;
      }else{
        art.dialog.close();
      }
    }
  });
  art.dialog.list['msg'].focus();//防止输入框中的竖线。
}

function art_alert(status,str,reload){
  var title=status?'成功':'失败';
  var icon=status?'face-smile':'face-sad';
  art.dialog.through({
    id:'msg',title:title,icon:icon,drag:false,lock:true,opacity:0.2,content:str,ok:function(){
      if(reload){
        location.reload();return false;
      }else{
        art.dialog.close();
      }
    }
  });
}


function $_() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);
    if (arguments.length == 1)
      return element;
    elements.push(element);
  }
  return elements;
}
function chk_type(str){return(new RegExp(/^\.\w+(\|\.\w+)*$/i).test(str));}

function chk_Batch_PKEY(str){return(new RegExp(/^\d+(,\d+)*$/i).test(str));}//检查是否是“批量主键”即批量删除信息时，利用sql中的in语法。模型：1,2,3,4...
function chkIsTels(str){return(new RegExp(/^((\d{3,4}-)?\d{7,8}(,(\d{3,4}-)?\d{7,8})*)|(\d{3}-\d{3}-\d{3,4})$/).test(str));}//如有多个电话则用半角逗号分隔
//检测是否是整数 是返回真，否则返回假
function chkInt(str){return(new RegExp(/^\d{1,5}$/).test(str));}
function chkLng(str){return(new RegExp(/^\d{1,9}$/).test(str));}
//检查字节类型，数值范围0－255
function chkByte(str){return(new RegExp(/^([0-9]|\d{2}|1\d{2}|2[0-4]\d|25[0-5])$/).test(str));}
//s=s.replace(/<xml>|<\/xml>|<record>|<\/record>/g,"");
function chkIsMail(str){return(new RegExp(/^[a-zA-Z0-9_]+([-+.][a-zA-Z0-9_]+)*@[a-zA-Z0-9_]+([-.][a-zA-Z0-9_]+)*\.[a-zA-Z0-9_]+([-.][a-zA-Z0-9_]+)*$/).test(str));}
function chkIsURL(str){return(new RegExp(/^(http:\/\/)?www.[0-9a-zA-z]+.(com|net|cn|com.cn|net.cn|org)$/).test(str));}
function chkPackage(str){return(new RegExp(/^\w+(\.\w+)+$/).test(str));}
//检查Input表单 条件符合返回真,否则返回假
//允许的条件是：可以是数字0-9，英文字母、下划线和中文(注意：中文不能包含标点符号)
function chkInput(str){return(new RegExp(/^(\w|[\u4E00-\u9FA5])+$/).test(str));}
//检查用户名 条件符合返回真,否则返回假
//允许的用户名条件是：可以是数字0-9，英文字母,且由英文开头
function chkUser(str){return(new RegExp(/^[a-zA-Z][a-zA-Z0-9]+$/).test(str));}
//检查开头是否为数字、下划线、如果有则返回真，否则返回假
function chkFirst(str){return(new RegExp(/^(\d|_)/).test(str));}
//返回字符串实际个数:汉字算两个字节,英文字母算一个字节
function mmLength(str){return str.replace(/[^\x00-\xff]/gi,'xxx').length;}
//检测邮编 是返回真，否则返回假
function chkZip(str){return(new RegExp(/^\d{6}$/).test(str));}
//检查字符串是否含有<、>、'、"符号，有则返回真，否则返回假
function chkTag(str){return(new RegExp(/[\'\"\?\+\=\^\*\(\)\\\/;&<>·$@%]/).test(str));}
//允许的关键字条件是：可以是数字0-9，英文字母、下划线和中文(注意：中文不能包含标点符号)及“半角逗号(,)”组成
function chkKey(str){return(new RegExp(/^(,|，|\w|[\u4E00-\u9FA5])+$/).test(str));}
//检查是否为中文，是返回真
function chkIsChinese(str){return(new RegExp(/^([\u4E00-\u9FA5])+$/).test(str));}
//检查是否是电话号码
function chkIsTel(str){return(new RegExp(/^((\d{3,4}-)?\d{7,8})|(\d{3}-\d{3}-\d{3,4})$/).test(str));}
//检查是否是手机号码
function chkIsMoveTel(str){return(new RegExp(/^1\d{10}$/).test(str));}
function yesno(test){return confirm(test);}
/////////////////////////////////////////////////////////////////////////
function mmReturnErr(id,msg,flag){
  alert(msg);
  flag?document.getElementById(id).focus():document.getElementById(id).select();
  return false;
}

function createQueryString(varArr,valArr){
  var QueryString="";
  for(var i=0;i<varArr.length;i++){
    QueryString += varArr[i] + "=" + valArr[i];
    if(i<varArr.length-1) QueryString=QueryString + "&";
    }
  return QueryString;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//新闻编辑相关函数
//将UBB代码转换为HTML代码 从TextArea写入到数据库
function toHtmlCode(content){
  var tmpStr=content;
  tmpStr=tmpStr.replace(/\[B\]\r*(\<br\/\>)*(.*?)\r*(\<br\/\>)*\[\/B]/ig,"<B>$2</B>");//粗体
  tmpStr=tmpStr.replace(/\[I\]\r*(\<br\/\>)*(.*?)\r*(\<br\/\>)*\[\/I]/ig,"<I>$2</I>");//斜体
  tmpStr=tmpStr.replace(/\[U\]\r*(\<br\/\>)*(.*?)\r*(\<br\/\>)*\[\/U]/ig,"<U>$2</U>");//下划线
  //字体颜色
  tmpStr=tmpStr.replace(/\[COLOR=(#*[a-z0-9]*)\]\r*(\<br\/\>)*(.*?)\r*(\<br\/\>)*\[\/COLOR\]/ig,'<span style="color:$1">$3</span>');
  //tmpStr=tmpStr.replace(/\[([\/]?)(b|u|i)\]/ig,"<$1$2>");//这样写有一个问题无法解决，即script脚本中的数组问题，如a[i]
  tmpStr=tmpStr.replace(/\[(em\d{2})\]/ig,'<IMG src="/images/UBBicon/$1.gif" align="absmiddle" border="0">');
  tmpStr=tmpStr.replace(/\[URL=([^\[]*)\](.*?)\[\/URL\]/ig,'<a href="$1" target=_blank>$2</a>');
  tmpStr=tmpStr.replace(/\[IMG\](\/|..\/|http:\/\/|https:\/\/|ftp:\/\/)(.[^\[]*)\[\/IMG]/ig,'<IMG style="CURSOR:hand" src="$1$2" align="absmiddle" border="0">');
  tmpStr=tmpStr.replace(/\[CODE\]\r*(\<br\/\>)*(.*?)\r*(\<br\/\>)*\[\/CODE\]/ig,'<div class="code">\r\n$2\r\n</div>');
  tmpStr=tmpStr.replace(/\[QUOTE\]\r*(\<br\/\>)*(.*?)\r*(\<br\/\>)*\[\/QUOTE\]/ig,'<div class="quote">\r\n$2\r\n</div>');
  //..tmpStr=tmpStr.replace(/\[QUOTE\](.*?)\[\/QUOTE]/ig,'<div class="quote">$1</div>');

  tmpStr=tmpStr.replace(/\[CENTER\](.*?)\[\/CENTER]/ig,'<div style="text-align:center;">$1</div>');
  tmpStr=tmpStr.replace(/\[FONTSIZE=(\d{2})\](.*?)\[\/FONTSIZE\]/ig,'<span style="font-size:$1px;">$2</span>');
  tmpStr=tmpStr.replace(/\[FONTFAMILY=(.*?)\](.*?)\[\/FONTFAMILY\]/ig,'<span style="font-family:$1;">$2</span>');
  return tmpStr;
}

//将HTML代码转换为UBB代码 从数据库读取到TextArea
function toUBBCode(content){
  var tmpStr=content;
  //tmpStr=tmpStr.replace(/<([\/]?)(b|u|i)>/ig,"[$1$2]");
  tmpStr=tmpStr.replace(/\<B\>(.*?)\<\/B\>/ig,"[B]$1[/B]");
  tmpStr=tmpStr.replace(/\<I\>(.*?)\<\/I\>/ig,"[I]$1[/I]");
  tmpStr=tmpStr.replace(/\<U\>(.*?)\<\/U\>/ig,"[U]$1[/U]");
  tmpStr=tmpStr.replace(/\<IMG src=\"(.*\/(em\d{2}).gif)\" align=\"absmiddle\" border=\"0\"\>/ig,"[$2]");
  tmpStr=tmpStr.replace(/\<a href=\"(.*?)\" target=_blank\>(.*?)\<\/a\>/ig,"[URL=$1]$2[/URL]");
  tmpStr=tmpStr.replace(/\<span style=\"color:(.*?)\"\>(.*?)\<\/span\>/ig,"[COLOR=$1]$2[/COLOR]");
  tmpStr=tmpStr.replace(/\<IMG style=\"CURSOR:hand\" src=\"(.*?)\" align=\"absmiddle\" border=\"0\"\>/ig,"[IMG]$1[/IMG]");
  tmpStr=tmpStr.replace(/\<div class=\"code\"\>([\w\W]*?)\n\<\/div\>/ig,'[CODE]$1\n[/CODE]');
  tmpStr=tmpStr.replace(/\<div class=\"quote\"\>([\w\W]*?)\n\<\/div\>/ig,'[QUOTE]$1\n[/QUOTE]');
  //为什么要加个\n呢，碰到这样的情况，一段javascript代码,里面含有</div>这样的代码，如果不加\n，这样就不是理想中的效果了
  //比如[code]...<div>...</div>...[code]，转变为<div class=code>....<div>..</div>...</div>，这样当修改时，将此段代码转为
  //UBB代码时就会错误，变成[code]...[/code]...</div>。
  //tmpStr=tmpStr.replace(/\<div class=\"quote\"\>([\w\W]*?)\<\/div\>/ig,'[QUOTE]$1[/QUOTE]');
  //([\w\W]*?) 加?是非贪婪匹配。最小匹配 去掉?则是贪婪匹配，最大匹配
  tmpStr=tmpStr.replace(/\<div style=\"text-align:center;\"\>([\w\W]*?)\<\/div\>/ig,'[CENTER]$1[/CENTER]');
  tmpStr=tmpStr.replace(/\<span style=\"font-size:(.*?)px;\"\>(.*?)\<\/span\>/ig,"[FONTSIZE=$1]$2[/FONTSIZE]");
  tmpStr=tmpStr.replace(/\<span style=\"font-family:(.*?);\"\>(.*?)\<\/span\>/ig,"[FONTFAMILY=$1]$2[/FONTFAMILY]");
  return tmpStr;
}

//删除行末空格，删除文章结尾的空行、空格 ->写入到数据库
String.prototype.delSpace=function(){
  var tmpstr=this;
  tmpstr=tmpstr.replace(/( )+\r/g,'\r');//删除行末空格
  tmpstr=tmpstr.replace(/[\r\n]+( )*[\r\n]*$/g,'');//删除文章结尾的空行、空格
  return tmpstr;
}

//[特殊]字符转义->写入到数据库
String.prototype.tsHtmlTextEncode=function(){
  var tmpstr=this;
  tmpstr=tmpstr.replace(/·/g,'&#183;');
  tmpstr=tmpstr.replace(/\$/g,'&#36;');
  //tmpstr=tmpstr.replace(/\\/g,"\\");
  return tmpstr;
}

//[特殊]字符转义 解码 从数据库读取到TextArea
String.prototype.tsHtmlTextDecode=function(){
  var tmpstr=this;
  tmpstr=tmpstr.replace(/&#183;/g,"·");
  tmpstr=tmpstr.replace(/&#36;/g,"$");
  //tmpstr=tmpstr.replace(/\\/g,"\\");
  return tmpstr;
}

//HTML部分代码转码 从TextArea写入到数据库
String.prototype.HtmlTextEncode=function(){
  var tmpstr=this;
  tmpstr=tmpstr.replace(/&/g,"%26");
  tmpstr=tmpstr.replace(/</g,"&lt;");//替换<号
  tmpstr=tmpstr.replace(/>/g,"&gt;");//替换>号
  tmpstr=tmpstr.replace(/\r\n/g,"<br\/>");//替换\n
  tmpstr=tmpstr.replace(/\n/g,"<br\/>");//替换\n--------------------------->遨游浏览器 基于webkit内核 textarea中回车。\n转<br> 2012-2-17
  tmpstr=tmpstr.replace(/ /g,"&nbsp;");
  //tmpstr=tmpstr.replace(/\+/g,"%2B");
  //tmpstr=tmpstr.replace(/%/g,"%25");//不对%转义，则+转义后的%2B存到数据库仍是+，如果再对%转义，则%252B，则在数据库显示为：%2B
  return tmpstr;
}
//HTML部分代码解码 从数据库读取到TextArea
String.prototype.HtmlTextDecode=function(){
  var tmpstr=this;
  tmpstr=tmpstr.replace(/\%25/g,"%");
  tmpstr=tmpstr.replace(/&lt;/g,"<");
  tmpstr=tmpstr.replace(/&gt;/g,">");
  tmpstr=tmpstr.replace(/<br\/>/g,"\n");
  tmpstr=tmpstr.replace(/&nbsp;/g," ");
  tmpstr=tmpstr.replace(/\%26/g,"&");
  //tmpstr=tmpstr.replace(/\%2B/g,"+");
  //tmpstr=tmpstr.replace(/\%25/g,"%");
  return tmpstr;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//插入时间
function rightStr(str,n){
  if(str.length<=n) return(str);
  return(str.substr(str.length-n,n));
}
function addTime(d){
  addcontent(d.getYear()+'-'+rightStr('0'+(d.getMonth()+1),2)+'-'+rightStr('0'+d.getDate(),2)+' '+rightStr('0'+d.getHours(),2)+':'+rightStr('0'+d.getMinutes(),2)+':'+rightStr('0'+d.getSeconds(),2),'');
}

function addcontent(id,str1,str2){
  var word;
  var flag=0;var first;var second;var third;var startP;var endP;
  var desp=document.getElementById(id);
  document.getElementById(id).focus();
  if ((document.selection)&&(document.selection.type=="Text")){//适用于IE6.0以上内核的浏览器
    var range= document.selection.createRange();
    if(range.text.length>0){
      word=range.text;
      range.text=str1+word+str2;
      flag=1;
    }else if(flag==1){//适用于Opera 内核，以及IE6.0以下内核的浏览器
      var mv=desp.value.replace(word,str1+word+str2);
      desp.value=mv;
    }else{
     desp.value=desp.value+str1+str2;//alert("请选择文本");
    }
  }else if(desp.selectionStart || desp.selectionStart == '0'){//使适用于FireFox内核浏览器
    startP=desp.selectionStart;
    endP=desp.selectionEnd;
    if(startP==endP) {
      if(flag==1){
        first=first+str1;
        third=str2+third;
        desp.value= first+second+third;
       }else{
        desp.value=desp.value+str1+str2;//alert("请选择文本a");
       }
    }else{
      first=desp.value.substring(0,startP)+str1;
      second=desp.value.substring(startP, endP);
      third=str2+desp.value.substring(endP,desp.value.length);
      desp.value=first+second+third;
      flag=1;
    }
   }else{
    desp.value=desp.value+str1+str2;
    desp.focus();
  }
}

/*
function addcontent(str1,str2){
  document.getElementById("desp").focus();
  if ((document.selection)&&(document.selection.type== "Text")){
    var range= document.selection.createRange();
    var ch_text=range.text;
    range.text=str1+ch_text+str2;
  }else{
    document.getElementById("desp").value=$("desp").value+str1+str2;
    document.getElementById("desp").focus();
  }
}
*/
function getParameter(name){
  var paramStr=location.search;
  if(paramStr.length==0)return '';
  if(paramStr.charAt(0)!='?')return '';
  paramStr=unescape(paramStr);
  paramStr=paramStr.substring(1);
  if(paramStr.length==0)return '';
  var params=paramStr.split('&');
  for(var i=0;i<params.length;i++){
    var parts=params[i].split('=',2);
    if(parts[0]==name){
      if(parts.length<2||typeof(parts[1])=="undefined"||parts[1]=="undefined"||parts[1]=="null")return "";
      return parts[1];
    }
  }
  return '';
}

function MyParseInt(digitnum){
  if(IsDigit(digitnum)){
    if(digitnum==""){
      return 0;
    }else{return parseInt(digitnum);}
  }else{return 0;}
}

//如果数字，返回真，否则返回假
function IsDigit(digitnum){
  if (digitnum == undefined){return false;}
  if (typeof digitnum != "string"){return false;}
  var re=/[^0-9]/;
  var ret=digitnum.match(re);
  if (ret==null){
    return true;
  }else{return false;}
}

function $escape(sStr){
  return escape(sStr).replace(/\+/g,'%2B').replace(/\"/g,'%22').replace(/\'/g,'%27').replace(/\//g,'%2F');
}

var Radiov='null';
var Rarray='null';
/***
Radio('Element_name', 'value');
***/
function Radio(Ename,Evalue){
  if(typeof(Radiov)=='string') Rarray=_GetRadio();
  if(typeof(Rarray)=='string') return false;
  for(var i=0;i<Rarray.length;i++){
    if(Rarray[i].name==Ename && Rarray[i].value==Evalue){Rarray[i].click();break;}
    //if(Rarray[i].name==Ename && Rarray[i].value*1==Evalue*1){Rarray[i].click();break;}
  }
}
/***
_GetRadio();
return : obj array
***/
function _GetRadio(){
  var _input=document.getElementsByTagName('input');
  if(_input.length<1) return 'null';
  var i,Is=new Array();
  for(i=0;i<_input.length;i++) if(_input[i].type=="radio") Is.push(_input[i]);
  Radiov=Is;
  return Is;
}
/***
Select('Element_id','value');
***/
function Select(Eid,v){
  var _obj=document.getElementById(Eid);
  for(var i=0;i<_obj.options.length; i++)
  if(_obj.options[i].value==v){_obj.selectedIndex=i;break;}
}

function FromatPage(str,StartNum,EndNum){
  str+="";
  if(str.length>=1){
    mynum=parseInt(str,10);
    if(isNaN(mynum)){
      mynum=StartNum;
    }
    else{
      if(EndNum>-1){
        mynum=(mynum<StartNum)?StartNum:mynum;
        mynum=(mynum>EndNum)?EndNum:mynum;
      }
      else{
        mynum=(mynum<StartNum)?StartNum:mynum;
      }
    }
  }
  else{
    mynum=StartNum;
  }
  return(mynum);
}

/* AJAX 公共调用函数Start prototype-1.3.1 */
function _mmAjaxUpdater(url,pars,method,id,evalScript){
  url+=(url.indexOf("?")==-1)?"?":"&";
  url+='time='+new Date().getTime();
  method=method?method:'post';//method默认为post发送
  pars=pars?pars:'';//pars默认为空
  evalScript=evalScript?evalScript:true;//执行js,默认为执行
  id=id?id:'';//默认为不返回数据并插入DIV ID
  var myAjax=new Ajax.Updater(
  id,url,{
    method:method,
    parameters:pars,
    evalScripts:evalScript
    });
}

/* AJAX 公共调用函数Start prototype-1.4.0 */
function mmAjaxUpdater(url,pars,method,id,evalScript){
  url+=(url.indexOf("?")==-1)?"?":"&";
  url+='time='+new Date().getTime();
  method=method?method:'post';//method默认为post发送
  pars=pars?pars:'';//pars默认为空
  evalScript=evalScript?evalScript:true;//执行js,默认为执行
  id=id?id:'';//默认为不返回数据并插入DIV ID
  var myAjax=new Ajax.Updater(
  {success:id},url,{
    method:method,
    parameters:pars,
    evalScripts:evalScript
    });
}

function mmAjaxRequest(url,pars,method,onSuccessFun){
  url+=(url.indexOf("?")==-1)?"?":"&";
  url+='time='+new Date().getTime();
  method=method?method:'post';//method默认为post发送
  pars=pars?pars:'';//pars默认为空
  onSuccessFun=onSuccessFun?onSuccessFun:okFun;//默认成功返回函数名为okFun
  var myAjax=new Ajax.Request(
  url,{
    method:method,
    parameters:pars,
    onSuccess:onSuccessFun
    });
}
/* AJAX 公共调用函数Over */


//clearTimeout

//判断字符串，如果为整数，返回整数，如果是时间格式，返回#time#，否则返回字符串
function rtnStrInt(str){
  if(chkInt(str)) return str;
  if(str.split('-').length==3) return "#" + str + "#";
  return "'" + str + "'";
}

function leftTrim(str){return str.replace(/^[ \t\n\r]+/g, "");}
function rightTrim(str){return str.replace(/[ \t\n\r]+$/g, "");}
function trim(str){return rightTrim(leftTrim(str));}
function DW(str){document.writeln(str);}

var domain=''; //默认Cookies有效域名

function ClosePage(){
  var ua=navigator.userAgent
  var ie=navigator.appName=="Microsoft Internet Explorer"?true:false
  if(ie){
    window.opener=null;
    window.open('','_self');
    window.close();
  }else{
    parent.window.close()
  }
}

//==关闭窗口==
function CloseWin(){
  var browserName=navigator.appName;
  if(browserName=="Netscape"){
    window.opener=null;
    window.open('','_self','');
    window.close();
  }else if(browserName=="Microsoft Internet Explorer"){
    window.opener="whocares";
    window.open('','_self');
    window.close();
  }
}